package com.lrabbit.utils;

public class StrUtils {

    /**
     * 检查字符串是否为空
     *
     * @param str 检查的字符串
     * @return 为空，返回false,不为空返回true
     */
    public static boolean isNotBlank(String str) {
        return str != null && !str.trim().isEmpty();
    }

    /**
     * 检查字符串不为空
     *
     * @param str 检查的字符串
     * @return 不为空，返回false,为空返回true
     */
    public static boolean isBlank(String str) {
        return str == null || str.trim().isEmpty();
    }

    /**
     * 检查给定对象的字符串表示形式是否为空或空白。
     * 如果对象为null，或者转换为字符串后为空串或仅包含空白字符，则返回true。
     *
     * @param obj 待检查的对象，可以是任何类型，将被转换为字符串进行检查。
     * @return 如果对象的字符串表示形式为空或空白，则返回true；否则返回false。
     */
    public static boolean isBlank(Object obj) {
        if (obj == null) {
            return true;
        }
        String str = obj.toString();
        return str.trim().isEmpty();
    }

    /**
     * 转换为String
     *
     * @param object 待转换的对象
     * @return 如果对象为null，返回空串，否则返回对象的字符串表示形式
     */
    public static String toString(Object object) {
        if (object == null || "".equals(object.toString()) || object.toString().trim().isEmpty()) {
            return "";
        }
        return object.toString();
    }

}
